/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.Documento;
import java.util.Vector;
import org.hibernate.Query;
import presentacion.utilidad.Paginador;

/**
 *
 * @author Gonzalo
 */
public class DocumentoFisica extends CapaFisica {

    /**
     * Retorna el vector de objetos Documento según el tipo de documento.
     *
     * @param tipoDocumento El tipo del Documento, puede ser "consentimiento 
     * informado" o "ficha de seguimiento"
     * @return El vector de objetos Documento consultado, null si no existe
     */
    public static Vector<Documento> getVectorDocumentoPorTipo(String tipoDocumento) {
        Query q = Sesion.sesion.createQuery(
                "from Documento " +
                "where lower(sinacentos(tipoDocumento)) = " +
                "lower(sinacentos('" + tipoDocumento + "'))"
                + " order by tipoDocumento asc"
                );

        Paginador.paginar(q);

        return getVectorObjetos(q);
    }
    
    /**
     * Retorna el objeto Documento según el id.
     *
     * @param idDocumento El id del documento
     * @return El objeto Documento consultado, null si no existe
     */
    public static Documento getDocumentoPorId(int idDocumento) {
        Query q = Sesion.sesion.createQuery(
                "from Documento " +
                "where idDocumento = " +
                idDocumento
                );

        return (Documento) getObjeto(q);
    }

}
